package com.spa.modules.spa.entity;

import java.io.Serializable;
import java.util.Date;

import org.jeecgframework.poi.excel.annotation.Excel;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.spa.common.utils.LongToStringUtil;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * 描述: 菜单
 * author: zw
 * date: 2023-01-14 14:23:46
 */
@TableName("spa_menu")
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="spa_menu对象", description="菜单")
public class SpaMenu implements Serializable {
    private static final long serialVersionUID = 1L;

    // 唯一标识
    @ApiModelProperty(value = "唯一标识")
    @TableId(type = IdType.ASSIGN_ID)
    @JsonSerialize(using = LongToStringUtil.class)
    private Long id;

    // 父级编号
    @ApiModelProperty(value = "父级编号")
	@TableField(value = "parent_id")
	@Excel(name = "父级编号", width = 15)
    private String parentId;

    // 
    @ApiModelProperty(value = "")
	@TableField(value = "path")
	@Excel(name = "", width = 15)
    private String path;

    // 组件
    @ApiModelProperty(value = "组件")
	@TableField(value = "component")
	@Excel(name = "组件", width = 15)
    private String component;

    // 排序
    @ApiModelProperty(value = "排序")
	@TableField(value = "order_no")
	@Excel(name = "排序", width = 15)
    private Integer orderNo;

    // 图标
    @ApiModelProperty(value = "图标")
	@TableField(value = "icon")
	@Excel(name = "图标", width = 15)
    private String icon;

    // 名称
    @ApiModelProperty(value = "名称")
	@TableField(value = "title")
	@Excel(name = "名称", width = 15)
    private String title;

    // 权限标识
    @ApiModelProperty(value = "权限标识")
	@TableField(value = "permission")
	@Excel(name = "权限标识", width = 15)
    private String permission;

    // 创建者
    @ApiModelProperty(value = "创建者")
	@TableField(value = "create_by", fill = FieldFill.INSERT)
	@Excel(name = "创建者", width = 15)
    private String createBy;

    // 创建时间
    @ApiModelProperty(value = "创建时间")
	@TableField(value = "create_time", fill = FieldFill.INSERT)
	@Excel(name = "创建时间", width = 15)
    private Date createTime;

    // 更新者
    @ApiModelProperty(value = "更新者")
	@TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE)
	@Excel(name = "更新者", width = 15)
    private String updateBy;

    // 更新时间
    @ApiModelProperty(value = "更新时间")
	@TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
	@Excel(name = "更新时间", width = 15)
    private Date updateTime;

}
